package com.shenmazong.core;

/**
 * @program: server-java-demo
 * @description: 单例模式：Holder模式（静态内部类）
 * @author: 亮子说编程
 * @create: 2020-10-15 09:31
 **/

public class Singleton04 {

    /**
    * @Description:
     * 类级的内部类，也就是静态的成员式内部类，该内部类的实例与外部类的实例
     * 没有绑定关系，而且只有被调用到才会装载，从而实现了延迟加载
    * @Param:
    * @return:
    * @Author: 亮子说编程
    * @Date: 2020/10/15 11:19
    */
    private static class SingletonHolder{

         // 静态初始化器，由JVM来保证线程安全
        private static Singleton04 instance = new Singleton04();
    }

    /**
    * @Description: 私有化构造方法
    * @Param: []
    * @return:
    * @Author: 亮子说编程
    * @Date: 2020/10/15 11:18
    */
    private Singleton04(){
    }

    public static  Singleton04 getInstance(){
        return SingletonHolder.instance;
    }
}